www.gusucode.com > matlab编程NSCT分解 图像融合 各个融合指标评价体系 分解源码程序 > matlab编程NSCT分解 图像融合 各个融合指标评价体系 分解源码程序/NSCT/IHS.m
function [I,H,S]=IHS(im) %%%%%%%%%%%%%%%%%%%%%%%%% F1=im; F1=im2double(F1); r=F1(:,:,1); g=F1(:,:,2); b=F1(:,:,3); th=acos((0.5*((r-g)+(r-b)))./((sqrt((r-g).^2+(r-b).*(g-b)))+eps)); H=th; H(b>g)=2*pi-H(b>g); H=H/(2*pi); I=(r+g+b)/3; x=(H); y=(120); % disp(class(x) ); I1=2./3-((mod(x,y)-60)./180); % HLOWER PART Calculate Saturation S=1-3.*(min(min(r,g),b))./(r+g+b+eps); % HUPPER PART Calculate Saturation id=find(I>I1); S(id)=1-3.*(1-max(max(r(id),g(id)),b(id)))./(3-(r(id)+g(id)+b(id)+eps));